import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashSet;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JList;
import javax.swing.JButton;
import javax.swing.JTextArea;


public class VueRechercheTitre extends Vue {

	private JPanel contentPane;

	private Vector<String> vect;
	private HashSet<Ouvrage> listO;
	private HashSet<Article> listA;
	private JList list;
	private JTextArea textAreaOuv;
	private JTextArea textAreaArt;
	private JScrollPane scrollPane_1;
	private JScrollPane scrollPane_2;
	/**
	 * Create the frame.
	 */
	public VueRechercheTitre(Controleur c, HashSet<MotTitre> motTitres) {
		super(c);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 399, 471);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblTitre = new JLabel("Titres");
		lblTitre.setBounds(39, 63, 46, 14);
		contentPane.add(lblTitre);
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(97, 29, 216, 79);
		contentPane.add(scrollPane);
		vect=new Vector<String>();
		for(MotTitre mt:motTitres){
			vect.add(mt.getMot());
		}
		list = new JList(vect);
		scrollPane.setViewportView(list);
		
		JButton btnRechercher = new JButton("Rechercher");
		btnRechercher.setBounds(258, 144, 89, 23);
		btnRechercher.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String selectTitre;
				Object val;
				val=list.getSelectedValue();
				if(val!=null){
					selectTitre=val.toString();
					listO=getControleur().RechercheParTitreOuv(selectTitre);
					listA=getControleur().RechercheParTitreArt(selectTitre);
					textAreaOuv = new JTextArea();
					scrollPane_1.setViewportView(textAreaOuv);
					
					textAreaArt = new JTextArea();
					scrollPane_2.setViewportView(textAreaArt);
					//ouvrage
					if(listO.isEmpty()){
						Message dialog = new Message("Il n'existe pas d'ouvrage avec ce theme");
						dialog.setVisible(true);
					}
					else{
						for(Ouvrage ouv:listO){
							textAreaOuv.append("Isbn :" + String.valueOf(ouv.getIdentifiant()) + " Titre : " + String.valueOf(ouv.getTitre()) + "\n");
						}
				}
					
					if(listA.isEmpty()){
						Message dialog = new Message("Il n'existe pas d'article avec se theme");
						dialog.setVisible(true);
					}
					else{
						for(Article art:listA){
							textAreaArt.append("Issn :" + String.valueOf(art.getParution().getPeriodique().getIssn())+" Num parution :" + String.valueOf(art.getParution().getNumPar())  + " titre : " + String.valueOf(art.getTitre()) + "\n");
						}
					}
				}
			
					
				else{
					Message dialog = new Message("Veuillez choisir un theme (cliquez dessus) ");
					dialog.setVisible(true);
				}
			}

		});
		contentPane.add(btnRechercher);
		
		JLabel lblOuvrage = new JLabel("Ouvrages");
		lblOuvrage.setBounds(39, 215, 57, 14);
		contentPane.add(lblOuvrage);
		
		scrollPane_1 = new JScrollPane();
		scrollPane_1.setBounds(97, 189, 216, 79);
		contentPane.add(scrollPane_1);
		

		
		JLabel lblArticle = new JLabel("Articles");
		lblArticle.setBounds(39, 342, 46, 14);
		contentPane.add(lblArticle);
		
		scrollPane_2 = new JScrollPane();
		scrollPane_2.setBounds(97, 307, 216, 79);
		contentPane.add(scrollPane_2);
		
		JButton btnQuitter = new JButton("Quitter");
		btnQuitter.setBounds(141, 397, 89, 23);
		btnQuitter.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				getControleur().fermerVue(VueRechercheTitre.this);}
		});
		contentPane.add(btnQuitter);
	}
}
